The present invention relates to user interactive computer supported display technology and particularly to such user interactive systems and methods which are user friendly and minimize user stress related to interactive cursor controlled functions.
The 1990""s decade has been marked by a technological revolution driven by the convergence of the data processing industry with the consumer electronics industry. This advance has been even further accelerated by extensive consumer and business involvement in the Internet over the past few years. There is a need to make computer directed activities accessible to a substantial portion of the population which, up to a few years ago, was computer-illiterate or, at best, computer indifferent. Because of the capability of the computer to make all technological and professional functions more efficient and quicker, workers skilled in various technologies and professions, but of relatively low computer skills, must perform functions with the computer which only a few years back required skilled computer operators and technicians. As a result, the computer industry is applying a substantial portion of its resources into making the human-computer interfaces more friendly and comfortable for the user. In this connection the mouse, which has been the primary input device to computers for a generation, is still considered a physically awkward input device, as are all analogous orthogonally movable user input means, such as joysticks and rollerball devices. Consequently, there has been considerable effort expended to make such input devices and the cursors which they control more user friendly and less stressful to use. The present invention provides a contribution in this direction.
In computer systems with advanced computer graphics, i.e. those systems using a graphics display controller conventionally implemented on a graphics controller card which supplements the CPU in controlling display functions, the cursor is implemented in the graphics controller card hardware to speed up and make cursor control and interactive movement, e.g. driven by a mouse. The cursor image is stored as a pixel array or bitmap in an area or register separate from the frame buffer where the display screen image is stored. The system tracks the cursor position in a cursor hotspot register also on the graphics controller card. The cursor hotspot is the position defining point or pixel in the cursor image which determines the cursor position, e.g. where the cursor is an arrow, then the point of the arrow or, where the cursor is a cross, the intersection of the lines on the cross. This position is the point on the screen which will be moved as the mouse is moved. The stored cursor image is then superimposed upon the screen image at the hotspot. When the application which is running on the computer needs to change the cursor image, the application modifies or replaces the cursor image through the particular device driver, e.g. if the operating system is a conventional windowing system such as an X Windows system, the cursor change is made through the X Windows driver, whereby the new cursor image is stored in the cursor bitmap register. Because the pixel arrangement of two different cursor images relative to the defined hotspot may be very different, there is likely to be a significant jerk in the cursor movement, as well as a substantial distortion in the cursor image shape when the cursor image is modified or replaced. This is a distraction and an annoyance to the interactive user, particularly when the user is trying to use the cursor for precise and detailed graphics.
The present invention overcomes these deficiencies when changing cursor images by providing apparatus for changing the cursor image in a computer controlled user interactive display system which already comprises a frame buffer for storing the display screen image as a pixel array, as well as a separate display buffer for storing the current cursor image as a pixel array. The invention further provides means for storing an alternate cursor image as a pixel array during the display of the current cursor image, together with means for replacing the current cursor image with the alternate cursor image. Where the display system uses raster scanning means for maintaining the display screen image in the frame buffer on said display screen, the invention provides for means for effecting the replacement of said images during a vertical blanking period in said raster scanning.
Best results are achieved when said buffer for storing said current pixel image is a register with the bitmap of said current cursor image, and said means for storing said alternate cursor image is a register with the bitmap of said alternate cursor image. Then, the system further provides means for selection of one of said cursor images.
When the applications being displayed have more than a current and an alternate cursor image, e.g. three or even more cursor images, then the alternate cursor image being stored while the current cursor image is being displayed may be replaced with yet another cursor image, which then is stored as the alternate cursor image.